{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "8db3caba",
   "metadata": {},
   "source": [
    "# Ungraded Lab: Birthday Problems\n",
    "\n",
    "Welcome! During this lab you will reinforce the notion of how counter-intuitive probabilities can be by taking a look at the famous birthday problem. In fact you will take a look at 4 variations of this problem. You can use one you have already seen the solution for, to try and come up with the solution for the next one, the results might surprise you!\n",
    "\n",
    "Let's get started!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "2d4d615c-0e4f-4001-a171-4d80e491e5ec",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import utils1\n",
    "\n",
    "%matplotlib widget"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7958a323",
   "metadata": {},
   "source": [
    "## Introduction to the problem\n",
    "\n",
    "All of these problems share a similar setting. You have a classroom full of students (the number may vary) and want to know the probabilities of two students having the same birthday or of any student having a particular birthday, anything along those lines. As mentioned before, you will see 4 variations of the problem.\n",
    "\n",
    "You can think of these problems in two ways:\n",
    "   - What is the minimum number of students `n` that need to be in the classroom to have a matching birthday with a given probability?\n",
    "   - Given `n` what is the probability of having a match?\n",
    "    \n",
    "Both ways model the situation from different angles but they are essentially covering the same.\n",
    "\n",
    "## Play the game of matching your birthday\n",
    "\n",
    "To further motivate this situation a game is presented. You can use the following cell to run an interactive game, it is very simple to use: you need to select your birthday (the year does not matter) in the dropdown widget and then you can click the `Simulate!` button to randomly create students until one of them has the same birthday as you. The left plot shows you the history of the result for each simulation and the right plot shows you the same information in a histogram so you can see how this variable distributes.\n",
    "\n",
    "You can try this for as long as you want so you get a sense of the probability distribution for this process (it is recommended to try it for at least 30 runs):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "6f450c24",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c3d48773da4c4e25a04068584ad5d2e3",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "DatePicker(value=None, description='Pick your bday', step=1, style=DescriptionStyle(description_width='initial…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "00ec0bdb77d74efe9a3ea9697b83e300",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Button(description='Simulate!', style=ButtonStyle())"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c65d17de6a104680bb5d1206812d4774",
       "version_major": 2,
       "version_minor": 0
      },
      "image/png": "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9ttvx4UXXni2lpmL092bL3/5yzF9+vS4+eabS7HMkjudffne974XDQ0NsXLlyqitrY3LL7881q9fH0NDQ6Vadkmczt5cc801sWvXrpG3G+7fvz+2b98e119/fUnWnKrJcP+NMJvGYjaNzWwqzmwqzlw6sybD/Td1U/JeAGfO4cOHY2hoKGpra0cdr62tjX379hW9pqenp+j5PT09Z22dpXY6+/K77rzzzpg1a9YJN6zx7nT25oUXXojHHnssuru7S7DCfJzOvuzfvz/+7d/+LT796U/H9u3b47XXXovPfe5z8fbbb0dra2spll0Sp7M3N910Uxw+fDg+/vGPR5Zlcfz48bjtttvirrvuKsWSkzXW/be/vz9+85vfxLnnnpvTys4ss6k4s2lsZlNxZlNx5tKZNVlmU8q8gg7vYcOGDbFly5Z45plnoqqqKu/l5Oro0aOxdOnS2Lx5c0ybNi3v5SRleHg4pk+fHo8++mjMnz8/mpub4+67745NmzblvbTc7dixI9avXx+PPPJI7N69O55++unYtm1b3HfffXkvDcYts+l/mU1jM5uKM5dImVfQJ5Bp06ZFRUVF9Pb2jjre29sbM2bMKHrNjBkzTun88eh09uUdDzzwQGzYsCF+8IMfxJVXXnk2l5mLU92bn/3sZ/HGG2/E4sWLR44NDw9HRMSUKVPilVdeiUsuueTsLroETufPzMyZM+Occ86JioqKkWMf+tCHoqenJwYHB6OysvKsrrlUTmdv7rnnnli6dGl85jOfiYiIK664Io4dOxa33npr3H333VFePjn/rXis+291dfWEeoXCbCrObBqb2VSc2VScuXRmTZbZlLLJ+6dvAqqsrIz58+dHZ2fnyLHh4eHo7OyMhoaGotc0NDSMOj8i4vnnnx/z/PHodPYlIuL++++P++67Lzo6OmLBggWlWGrJnereXHbZZfHSSy9Fd3f3yOPP//zP4xOf+ER0d3dHXV1dKZd/1pzOn5lrr702XnvttZEnhRERr776asycOXNCPAF6x+nszVtvvXXCk513nixmWXb2Fpu4yXD/jTCbxmI2jc1sKs5sKs5cOrMmw/03efn+jDrOtC1btmSFQiF74oknspdffjm79dZbswsuuCDr6enJsizLli5dmq1evXrk/B//+MfZlClTsgceeCDbu3dv1traOmF/lc2p7MuGDRuyysrK7Kmnnsp++ctfjjyOHj2a15dw1pzq3vyuifqTck91Xw4cOJCdf/752ec///nslVdeyb7//e9n06dPz77yla/k9SWcNae6N62trdn555+f/fM//3O2f//+7F//9V+zSy65JPvUpz6V15dwVhw9ejTbs2dPtmfPniwisoceeijbs2dP9vOf/zzLsixbvXp1tnTp0pHz3/lVNn/3d3+X7d27N2tvb5+wv8rGbCrObBqb2VSc2VScuTQ2s2n8EegT0Ne//vXsoosuyiorK7OFCxdm//7v/z7yv1133XXZ8uXLR53/ne98J7v00kuzysrK7CMf+Ui2bdu2Eq+4NE5lX97//vdnEXHCo7W1tfQLL4FT/TPzf03UJ0FZdur78uKLL2b19fVZoVDILr744uyrX/1qdvz48RKvujROZW/efvvt7Etf+lJ2ySWXZFVVVVldXV32uc99Lvvv//7v0i/8LPrhD39Y9L7xzl4sX748u+666064Zt68eVllZWV28cUXZ//4j/9Y8nWXitlUnNk0NrOpOLOpOHOpOLNp/CnLskn+Pg4AAABIgO9BBwAAgAQIdAAAAEiAQAcAAIAECHQAAABIgEAHAACABAh0AAAASIBABwAAgAQIdAAAAEiAQAcAAIAECHQAAABIgEAHAACABAh0AAAASIBABwAAgAQIdAAAAEiAQAcAAIAECHQAAABIgEAHAACABAh0AAAASIBABwAAgAQIdAAAAEiAQAcAAIAECHQAAABIwP8DNdXsG6baAg4AAAAASUVORK5CYII=",
      "text/html": [
       "\n",
       "            <div style=\"display: inline-block;\">\n",
       "                <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
       "                    Figure\n",
       "                </div>\n",
       "                <img src='' width=1000.0/>\n",
       "            </div>\n",
       "        "
      ],
      "text/plain": [
       "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "game = utils1.your_bday()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7ec3e024",
   "metadata": {},
   "source": [
    "## First Problem\n",
    "\n",
    "The first problem tries to answer the question: given a pre-defined date, what is the value of `n` such that the probability of having a match is greater than or equal to 0.5?\n",
    "\n",
    "<img src=\"./images/first.png\" style=\"height: 200px;\"/>\n",
    "\n",
    "Before taking a look at the analytical solution you will try to solve it by creating simulations with Python. For this purpose you can use the `simulate` helper function provided in the next cell. Run it to load this function which will be used shortly:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "075e35c5-85f4-427f-9d63-b540aec4caa3",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "def simulate(problem_func, n_students=365, n_simulations=1000):\n",
    "    \n",
    "    # Initialize the counter of matches at 0\n",
    "    matches = 0\n",
    "    \n",
    "    # Run the simulation for the desired number of times\n",
    "    for _ in range(n_simulations):\n",
    "        \n",
    "        # If there is a match in the classroom add 1 to the counter of matches\n",
    "        if problem_func(n_students):\n",
    "            matches += 1\n",
    "    \n",
    "    # Return the ratio of number of matches / number of simulations\n",
    "    return matches/n_simulations"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0aa06656",
   "metadata": {},
   "source": [
    "This function returns the simulated probability for a given problem when you pass to it the number of students and the number of simulations and it has these two properties:\n",
    "\n",
    "   - The higher the number of students the higher the probability of a match.\n",
    "   - The higher the number of simulations the more accurate the simulated probability will be.\n",
    "\n",
    "This is pretty cool but how do you use this helper function? You need to pass another function to it that models the situation at hand. This other function should have two criteria so that `simulate` works as expected:\n",
    "\n",
    "   - It should receive the number of students as input.\n",
    "   - It should return True if there was a match or False otherwise.\n",
    "    \n",
    "You can create a function that models problem number 1 by running the following cell:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "14557c4f-588f-40a9-8e4e-c188b947fe42",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "def problem_1(n_students):\n",
    "    \n",
    "    # Predefine a specific birthday\n",
    "    predef_bday = np.random.randint(0, 365)\n",
    "    \n",
    "    # Generate birthdays for every student\n",
    "    gen_bdays = np.random.randint(0, 365, (n_students))\n",
    "    \n",
    "    # Check if predefined bday is among students\n",
    "    return predef_bday in gen_bdays"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9e82157c",
   "metadata": {},
   "source": [
    "Now you can use these two functions in conjuction to get the probability of a match for a given classroom size. Notice that you can tweak the value of the `n` variable to simulate classrooms with different number of students. Also notice that this time the simulation is run 10,000 times instead of the default 1000. This gives you a more accurate simulated probability at the expense of taking longer to execute:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "977e402e-58c2-45ab-9a7d-2d2095cae6d3",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The simulated probability of any student to have a bday equal to a predefined value is 0.2395 in a classroom with 100 students\n"
     ]
    }
   ],
   "source": [
    "n = 100 # try changing this value!\n",
    "simulated_prob = simulate(problem_1, n_students=n, n_simulations=10_000)\n",
    "\n",
    "print(f\"The simulated probability of any student to have a bday equal to a predefined value is {simulated_prob} in a classroom with {n} students\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "07ca745b",
   "metadata": {},
   "source": [
    "This is very cool but it still has one major drawback: you would need to try a bunch of values for `n` before arriving at the solution. Instead of taking this approach you can generate a plot that shows the simulated probability as a function of the number of students in the classroom:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "5e201de4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "863f390d40344b3bbcee87300c6e651f",
       "version_major": 2,
       "version_minor": 0
      },
      "image/png": "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Q4cOQkBAgODi4iJUr15d6NOnj7Br1y7J2KKiImH06NFC9erVBZlMJnnP3b59Wxg4cKCgUCgEPz8/4bXXXhPOnDljsg3ehg0bhMaNGwtubm5CkyZNhI0bNwqxsbGSNms6n332mdC6dWvBw8ND8Pb2Fpo3by688847wvXr18UxdevWFfr06WN0reHvjiAIwvLly4V69eoJzs7OYsu148ePCzExMUJwcLDg5uYmBAQECE8++aSkrSIRET08MkEoRdUXIiKiSqSoqAi1atVC37598cUXX9h7OkRERFRFcQ86ERFVeZs3b8bt27cxdOhQe0+FiIiIqjBm0ImIqMo6fPgwTp06hRkzZkClUkkK3xERERGVN2bQiYioylq2bBlGjBiBgIAAfPnll/aeDhEREVVxzKATEREREREROQBm0ImIiIiIiIgcAAN0IiIiIiIiIgfgYu8JUPkqLi7G9evX4e3tDZlMZu/pEBERERGRnQiCgJycHNSqVQtOTszdOgIG6FXM9evXERQUZO9pEBERERGRg7h27Rrq1Klj72kQGKBXOd7e3gDu/xL6+PjYeTZERERERGQv2dnZCAoKEmMEsj8G6FWMblm7j48PA3QiIiIiIuLWVwfCjQZEREREREREDoABOhEREREREZEDYIBORERERERE5AC4B51M0mq1KCwstPc0iCoMV1dXODs723saRERERFSBMUAnCUEQcPPmTWRmZtp7KkQVjq+vL2rUqMFCK0RERERUKgzQSUIXnAcEBEChUDDQILKCIAhQq9VIS0sDANSsWdPOMyIiIiKiiogBOom0Wq0YnPv7+9t7OkQVioeHBwAgLS0NAQEBXO5ORERERDZjgE4i3Z5zhUJh55kQVUy6353CwkIG6ERERFVUllqD9FwNsu8VwsfDFSpPOZQKub2nRRUEA3QywmXtRKXD3x0iIqLy4ahB8PXMfIzfcAr7LqRDIXdGXOdQdKrnD7mLE/w85Q4zT3JcbLNGldpLL72Ep59++qE/z9SpU9GyZcuH/jzmyGQybN682S7PHRISggULFjzQPVatWgVfX1+LYwy/x4Y/227dumHcuHEP/DxERETk2K5n5iN+bTJ6zNuD/kt/R4+5ezB6bTKuZ+aX2xyy1BpcSstFcupdXLqdiyy1BllqjSQ4XxgTieTUu3jh88N45pODdpknVTwM0KlS+/jjj7Fq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nF8N2YthgM73DBn68ccfhWbNmglubm5Co0aNhM8++0xyvri4WJg0aZIQGBgouLm5CT169BDOnz8vGZORkSHExMQIXl5ego+PjzBs2DAhJyenPF8GlaPs7Gxh7NixQnBwsODu7i7Uq1dPeO+99yStrvi+od9++83k3zGxsbGCIJTde+TkyZNC586dBTc3N6F27drCrFmzyuslUjmSCYIg2Cd3T0REREREREQ63INORERERERE5AAYoBMRERERERE5AAboRERERERERA6AAToRERERERGRA2CATkREREREROQAGKATEREREREROQAG6EREREREREQOgAE6ERFRGZPJZNi8ebO9p1EhXLlyBTKZDCdOnLD3VIiIiOyOAToREZENbt68idGjR6NevXpwc3NDUFAQ+vbti6SkJHtPzSGlpKTghRdeQK1ateDu7o46dergqaeewl9//QUACAoKwo0bN9CsWTM7z5SIiMj+XOw9ASIiooriypUriIqKgq+vL+bMmYPmzZujsLAQ27dvx6hRo8Sg014EQYBWq4WLi2P8772wsBCPPvooGjZsiI0bN6JmzZr43//+h59//hmZmZkAAGdnZ9SoUcO+EyUiInIQzKATERFZaeTIkZDJZDhy5AgGDhyIBg0aoGnTpkhISMChQ4fMXjd+/Hg0aNAACoUC9erVw6RJk1BYWCieP3nyJB555BF4e3vDx8cHrVu3xtGjRwEAV69eRd++feHn5wdPT080bdoU27ZtAwDs3r0bMpkMP//8M1q3bg03Nzfs378fBQUFGDNmDAICAuDu7o7OnTvjjz/+kMxpz549aNeuHdzc3FCzZk0kJiaiqKhIPN+tWzeMHj0a48aNg5+fHwIDA7F8+XLk5eVh2LBh8Pb2RlhYGH7++Wezr/vPP//EpUuXsHTpUnTo0AF169ZFVFQU3n//fXTo0AGA8RL3l156CTKZzOjf7t27AQAFBQV46623ULt2bXh6eqJ9+/biOSIiooqOAToREZEV7ty5g19++QWjRo2Cp6en0XlfX1+z13p7e2PVqlU4e/YsPv74Yyxfvhzz588Xzw8ePBh16tTBH3/8gWPHjiExMRGurq4AgFGjRqGgoAB79+7F6dOnMXv2bHh5eUnun5iYiFmzZuHcuXOIiIjAO++8gw0bNmD16tU4fvw4wsLC0KtXL9y5cwcA8M8//+CJ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",
      "text/html": [
       "\n",
       "            <div style=\"display: inline-block;\">\n",
       "                <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
       "                    Figure\n",
       "                </div>\n",
       "                <img src='' width=1000.0/>\n",
       "            </div>\n",
       "        "
      ],
      "text/plain": [
       "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Generate the simulated probability for every classroom\n",
    "simulated_probs_1 = [simulate(problem_1, n_students=n) for n in utils1.big_classroom_sizes]\n",
    "\n",
    "# Create a scatterplot of simulated probabilities vs classroom size\n",
    "utils1.plot_simulated_probs(simulated_probs_1, utils1.big_classroom_sizes)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ae84cc0c",
   "metadata": {},
   "source": [
    "Remember that this approach is a simulation and thus you are generating simulated (or approximated) probabilities. Because of this the curve is not completely smooth and you will get slightly different values every time you run the simulation.\n",
    "\n",
    "## Analytical Solution\n",
    "\n",
    "Now that you have built a stronger intuition, let's calculate explicitily the probability $P$ that at least one student in the room has the birthday the same as the pre-defined date. It is clear that $P = P(n)$, i.e., the value for $P$ depends on the number of students in the room and, as $n$ become large, $P(n)$ must become closer to $1$. With a formula for $P(n)$ we can then find the minimum $n$ such that $P(n) \\geq 0.5$. Let's suppose that a year has $365$ days.\n",
    "\n",
    "Let's consider $D$ the pre-defined birthday and suppose a student is selected at random. \n",
    "\n",
    "Defining the event $S_i$ as the $i$-th student has birthday in the day $D$. Then $P(S_i) = \\frac{1}{365}$, because there are $365$ equally likely possibilities for their birthday. So, using the **complement rule**, the probability that this student's birthday isn't day $D$ is $P(S_i^c) = 1 - P(S_i) = 1 - \\frac{1}{365}$. \n",
    "\n",
    "Note that this probability is the same for any student and we can fairily assume that each student's birthday is independent from each other. Consider the event $\\mathcal{S}$ the desired event, i.e., at least one student has birthday in day $D$. Note that:\n",
    "\n",
    "$\\mathcal{S}^c$ is the probability that **no student has birthday in day $D$** and this is the same as:\n",
    "\n",
    "- Student $1$ has birthday in a day different than D, AND\n",
    "- Student $2$ has birthday in a day different than D, AND,\n",
    "...\n",
    "- Student $k$ has birthday in a day different than D.\n",
    "\n",
    "With our definitions, this is just $S_1^c \\cap S_2^c \\cap \\ldots \\cap S_k^c.$ Therefore\n",
    "\n",
    "$\n",
    "\\begin{equation}\n",
    "\\begin{split}\n",
    "P(\\mathcal{S}) {} & = 1 - P(\\mathcal{S}^c) \\\\\n",
    "              & = 1 - P(S_1^c \\cap S_2^c \\cap \\ldots \\cap S_k^c) \\\\\n",
    "              & = 1 - P(S_1^c)P(S_2^c) \\cdots P(S_k^c) \\text{ (independence)}\\\\\n",
    "              & = 1 - (1 - \\frac{1}{365})^n.\n",
    "\\end{split}\n",
    "\\end{equation}\n",
    "$\n",
    "\n",
    "As you've expected, $P(\\mathcal{S}) = 1 - (1 - \\frac{1}{365})^n = P(n)$. Now, you are ready to answer the question: for wich value of $n$, $P(n) \\geq \\frac{1}{2}$?\n",
    "\n",
    "Well, $P(n) \\geq \\frac{1}{2}$ is equivalent to\n",
    "\n",
    "\\begin{align}\n",
    " 1 - \\left(1 - \\frac{1}{365}\\right)^n &\\geq \\frac{1}{2} \\textit{, passing 1 to the other side and inverting the inequality sign}\\\\\n",
    "\\left(1 - \\frac{1}{365}\\right)^n &\\leq \\frac{1}{2}\\\\\n",
    "\\left(\\frac{364}{365}\\right)^n &\\leq 2^{-1} \\\\\n",
    "\\ln{\\left(\\frac{364}{365}\\right)}^n &\\leq \\ln{2^{-1}} \\\\\n",
    "n \\ln{\\left(\\frac{364}{365}\\right)} &\\leq -\\ln{2}\\\\\n",
    "\\end{align}\n",
    "\n",
    "Now, using a calculator we can easily find that $\\ln{2} \\approx 0.693$ and $\\ln{\\frac{364}{365}} \\approx -0.003$, the last inequality becomes\n",
    "\n",
    "$$n \\cdot -0.003 \\leq -0.693,$$\n",
    "\n",
    "which is equivalent to $n \\geq \\frac{0.693}{0.003} = 253$. "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a326b10f",
   "metadata": {},
   "source": [
    "## Second Problem\n",
    "\n",
    "The second problem is very similar to the first one, with the difference that the predefined value is not previously defined but it is drawn from one of the students at random so it can be worded like this: given a classroom with `n` students, if you draw any student at random what is the value of `n` such that the probability of having a match with another student is greater than or equal to 0.5?\n",
    "\n",
    "<img src=\"./images/second.png\" style=\"height: 200px;\"/>\n",
    "\n",
    "You can reuse the `simulate` helper function defined earlier so the only thing left is to code the function that models this particular problem. **But before doing this try to come up with a hypothesis about the result. What do you think will happen? Will `n` be similar to the previous one or do you need a higher value? What about a smaller value?**\n",
    "\n",
    "Run the next cells to find out!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "b83a13c5-812d-4637-95da-8fc4058178ec",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "def problem_2(n_students):\n",
    "    \n",
    "    # Generate birthdays for every student\n",
    "    gen_bdays = np.random.randint(0, 365, (n_students))\n",
    "    \n",
    "    # Pick one student at random\n",
    "    rnd_index = np.random.randint(0, len(gen_bdays))\n",
    "    \n",
    "    # Get the bday from the selected student\n",
    "    rnd_bday = gen_bdays[rnd_index]\n",
    "    \n",
    "    # Take the bday out of the pool of bdays (otherwise there is always a match)\n",
    "    remaining_bdays = np.delete(gen_bdays, rnd_index, axis=0)\n",
    "    \n",
    "    # Check if another student shares the same bday\n",
    "    return rnd_bday in remaining_bdays"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "a826e6e3-be69-42b5-8995-3c13239b05ee",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7e85633777f6461287bc1f9f3169adba",
       "version_major": 2,
       "version_minor": 0
      },
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+gAAAGQCAYAAAA9TUphAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACOfElEQVR4nOzdeVhU5dsH8O+wDDAsAzKCqCAo5L6g5IaiP7XMTHOpzExJtFXUog0r1xY108y1slwqUzO3MssMyy13cUszVFzeXBCUdYCB4bx/2BzPmRmGGURmgO/nurgu55znnHlmGMt7nvu5b4UgCAKIiIiIiIiIyK6c7D0BIiIiIiIiImKATkREREREROQQGKATEREREREROQAG6EREREREREQOgAE6ERERERERkQNggE5ERERERETkABigExERERERETkABuhEREREREREDoABOhEREREREZEDYIBORERERERE5AAYoBMRERERERE5AAboRERERERERA6AAToRERERERGRA2CATkREREREROQAGKATEREREREROQAG6EREREREREQOgAE6ERERERERkQNggE5ERERERETkABigExERERERETkABuhEREREREREDoABOhEREREREZEDYIBORERERERE5AAYoBMRERERERE5AAboRERERERERA6AAToRERERERGRA2CATkRENlEoFIiPj6+w+y1fvhwKhQKHDh0qc2z37t3RvXt38fGFCxegUCiwfPly8diUKVOgUCgqbH5k6o8//oBCocD3339v76lY5fr163jsscfg7+8PhUKBuXPn2ntKFj3zzDMIDQ219zSIiMgOGKATEVUDhiDX8OPu7o777rsP8fHxuH79ur2nZ3cffPABNm7caO9p2MTwO3V3d8e///5rcr579+5o0aKFHWZW9bzyyivYunUrJkyYgK+//hoPPfRQqWNzc3MxefJktGjRAp6envD390ebNm0wfvx4XLlyRRy3ZcsWTJkypRJmf2+cOnUKU6ZMwYULF+w9FSIikmCATkRUjUybNg1ff/01FixYgM6dO2Px4sXo1KkTtFqtvadWIX799Vf8+uuvFse88847yM/Plx2rigG6QWFhIWbMmGHvaVRp27dvx6OPPorXXnsNTz/9NJo0aWJ2XFFREWJiYjBr1ix07doVc+bMwVtvvYW2bdvi22+/xT///COO3bJlC6ZOnVpZL6HCnTp1ClOnTmWATkTkYFzsPQEiIqo4ffr0QVRUFABg9OjR8Pf3x5w5c7Bp0yYMHTrU7DV5eXnw9PSszGmWm1KpLHOMi4sLXFyqz//e2rRpgyVLlmDChAmoW7euvadTqSrqs5mWlgZfX98yx23cuBHJyclYuXIlnnrqKdm5goIC6HS6u54LERGRJVxBJyKqxnr06AEASE1NBXB7b6uXlxfOnTuHhx9+GN7e3hg2bBiA28HQq6++iuDgYLi5uaFx48b46KOPIAiC2XuvXLkSjRs3hru7O9q1a4edO3fKzl+8eBEvvfQSGjduDA8PD/j7++Pxxx8vdcVOq9Xi+eefh7+/P3x8fDBixAjcunVLNsZ4D7o5xnvQFQoF8vLysGLFCnELwDPPPIPff/8dCoUCGzZsMLnHt99+C4VCgb1795p9jkOHDkGhUGDFihUm57Zu3QqFQoHNmzcDAHJycvDyyy8jNDQUbm5uCAgIwAMPPIAjR45YfB0Gb731FvR6fZmr6Ob24xsoFApZOrbhPfrnn3/w9NNPQ61Wo3bt2pg4cSIEQcDly5fx6KOPwsfHB3Xq1MHs2bPNPqder8dbb72FOnXqwNPTE/3798fly5dNxu3fvx8PPfQQ1Go1VCoVunXrhj179sjGGOZ06tQpPPXUU/Dz80OXLl0svubz58/j8ccfR61ataBSqdCxY0f89NNP4nnDNgFBELBw4ULx91+ac+fOAQCio6NNzrm7u8PHxwfA7b9HCxcuBADZ1hLgzv78P/74Q3Z9ab+fjRs3okWLFnB3d0eLFi3Mfh4BoKSkBHPnzkXz5s3h7u6OwMBAPP/88yZ/R0JDQ/HII49g9+7daN++Pdzd3dGwYUN89dVXsvfl8ccfBwD873//E+dvmPOhQ4fQu3dvaDQaeHh4ICwsDHFxcaW+b0REVHGqzxIDERGZMAQc/v7+4rHi4mL07t0bXbp0wUcffQSVSgVBENC/f3/8/vvvGDVqFNq0aYOtW7fi9ddfx7///ouPP/5Ydt8dO3ZgzZo1GDduHNzc3LBo0SI89NBDOHDggLgv+uDBg/jzzz/x5JNPon79+rhw4QIWL16M7t2749SpU1CpVLJ7xsfHw9fXF1OmTMGZM2ewePFiXLx4UQx4yuvrr7/G6NGj0b59ezz33HMAgEaNGqFjx44IDg7GypUrMXDgQNk1K1euRKNGjdCpUyez94yKikLDhg3x3XffITY2VnZuzZo18PPzQ+/evQEAL7zwAr7//nvEx8ejWbNmyMjIwO7du3H69Gm0bdu2zPmHhYVhxIgRWLJkCRITEyt0FX3IkCFo2rQpZsyYgZ9++gnvvfceatWqhc8++ww9evTAzJkzsXLlSrz22mu4//77ERMTI7v+/fffh0KhwJtvvom0tDTMnTsXvXr1wtGjR+Hh4QHgdnp5nz590K5dO0yePBlOTk5YtmwZevTogV27dqF9+/ayez7++OOIiIjABx98UOqXQ8Dtwm+dO3eGVqvFuHHj4O/vjxUrVqB///74/vvvMXDgQMTExODrr7/G8OHD8cADD2DEiBEW348GDRoAAL766iu88847pX7unn/+eVy5cgXbtm3D119/Xeb7XJpff/0VgwcPRrNmzTB9+nRkZGRg5MiRqF+/vtnnXL58OUaOHIlx48YhNTUVCxYsQHJyMvbs2QNXV1dx7NmzZ/HYY49h1KhRiI2NxdKlS/HMM8+gXbt2aN68OWJiYjBu3DjMmzcPb731Fpo2bQoAaNq0KdLS0vDggw+idu3aSExMhK+vLy5cuID169eX+3USEZENBCIiqvKWLVsmABB+++034caNG8Lly5eF1atXC/7+/oKHh4fwf//3f4IgCEJsbKwAQEhMTJRdv3HjRgGA8N5778mOP/bYY4JCoRDOnj0rHgMgABAOHTokHrt48aLg7u4uDBw4UDym1WpN5rl3714BgPDVV1+ZzL1du3aCTqcTj3/44YcCAGHTpk3isW7dugndunUTH6empgoAhGXLlonHJk+eLBj/783T01OIjY01mc+ECRMENzc3ITMzUzyWlpYmuLi4CJMnTzYZb3ytq6urcPPmTfFYYWGh4OvrK8TFxYnH1Gq1MGbMGIv3Msfwvhw8eFA4d+6c4OLiIowbN048361bN6F58+biY3PvhQEA2esxvEfPPfeceKy4uFioX7++oFAohBkzZojHb926JXh4eMjev99//10AINSrV0/Izs4Wj3/33XcCAOGTTz4RBEEQSkpKhIiICKF3795CSUmJOE6r1QphYWHCAw88YDKnoUOHWvX+vPzyywIAYdeuXeKxnJwcISwsTAgNDRX0er3s9VvzO9BqtULjxo0FAEKDBg2EZ555Rvjyyy+F69evm4wdM2aMyedM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IwEAI0aMQL169TB9+nQAwPjx49GtWzfMnj0bffv2xerVq3Ho0CF8/vnn9nwZ5VLX1wPzh0YiPVeHnIIieLu7QuOlZHBOREREREQ1FgN0OxoyZAhu3LiBSZMm4dq1a2jTpg1++eUXsRDcpUuX4OR0J8mhc+fO+Pbbb/HOO+/grbfeQkREBDZu3IgWLVrY6yXcFbWKATkREREREZEB+6DXMOx1SEREREREAGMDR8Q96EREREREREQOgAE6ERERERERkQNggE5ERERERETkABigExERERERETkABuhEREREREREDoABOhEREREREZEDYB/0GsbQVS87O9vOMyEiIiIiInsyxATsvO04GKDXMDk5OQCA4OBgO8+EiIiIiIgcQU5ODtRqtb2nQQAUAr8uqVFKSkpw5coVeHt7Q6FQ2HUu2dnZCA4OxuXLl+Hj42PXuVDVwc8N2YqfGSoPfm7IVvzMUHnY+3MjCAJycnJQt25dODlx97Mj4Ap6DePk5IT69evbexoyPj4+/B8Z2YyfG7IVPzNUHvzckK34maHysOfnhivnjoVfkxARERERERE5AAboRERERERERA6AATrZjZubGyZPngw3Nzd7T4WqEH5uyFb8zFB58HNDtuJnhsqDnxsyxiJxRERERERERA6AK+hEREREREREDoABOhEREREREZEDYIBORERERERE5AAYoBMRERERERE5AAboZDcLFy5EaGgo3N3d0aFDBxw4cMDeUyI7mT59Ou6//354e3sjICAAAwYMwJkzZ2RjCgoKMGbMGPj7+8PLywuDBw/G9evXZWMuXbqEvn37QqVSISAgAK+//jqKi4sr86WQncyYMQMKhQIvv/yyeIyfGTL277//4umnn4a/vz88PDzQsmVLHDp0SDwvCAImTZqEoKAgeHh4oFevXkhJSZHd4+bNmxg2bBh8fHzg6+uLUaNGITc3t7JfClUSvV6PiRMnIiwsDB4eHmjUqBHeffddSGss83NDO3fuRL9+/VC3bl0oFAps3LhRdr6iPiPHjx9H165d4e7ujuDgYHz44Yf3+qWRHTBAJ7tYs2YNEhISMHnyZBw5cgStW7dG7969kZaWZu+pkR3s2LEDY8aMwb59+7Bt2zYUFRXhwQcfRF5enjjmlVdewY8//oi1a9dix44duHLlCgYNGiSe1+v16Nu3L3Q6Hf7880+sWLECy5cvx6RJk+zxkqgSHTx4EJ999hlatWolO87PDEndunUL0dHRcHV1xc8//4xTp05h9uzZ8PPzE8d8+OGHmDdvHj799FPs378fnp6e6N27NwoKCsQxw4YNw19//YVt27Zh8+bN2LlzJ5577jl7vCSqBDNnzsTixYuxYMECnD59GjNnzsSHH36I+fPni2P4uaG8vDy0bt0aCxcuNHu+Ij4j2dnZePDBB9GgQQMcPnwYs2bNwpQpU/D555/f89dHlUwgsoP27dsLY8aMER/r9Xqhbt26wvTp0+04K3IUaWlpAgBhx44dgiAIQmZmpuDq6iqsXbtWHHP69GkBgLB3715BEARhy5YtgpOTk3Dt2jVxzOLFiwUfHx+hsLCwcl8AVZqcnBwhIiJC2LZtm9CtWzdh/PjxgiDwM0Om3nzzTaFLly6lni8pKRHq1KkjzJo1SzyWmZkpuLm5CatWrRIEQRBOnTolABAOHjwojvn5558FhUIh/Pvvv/du8mQ3ffv2FeLi4mTHBg0aJAwbNkwQBH5uyBQAYcOGDeLjivqMLFq0SPDz85P9/+nNN98UGjdufI9fEVU2rqBTpdPpdDh8+DB69eolHnNyckKvXr2wd+9eO86MHEVWVhYAoFatWgCAw4cPo6ioSPaZadKkCUJCQsTPzN69e9GyZUsEBgaKY3r37o3s7Gz89ddflTh7qkxjxoxB3759ZZ8NgJ8ZMvXDDz8gKioKjz/+OAICAhAZGYklS5aI51NTU3Ht2jXZZ0atVqNDhw6yz4yvry+ioqLEMb169YKTkxP2799feS+GKk3nzp2RlJSEf/75BwBw7Ngx7N69G3369AHAzw2VraI+I3v37kVMTAyUSqU4pnfv3jhz5gxu3bpVSa+GKoOLvSdANU96ejr0er3sH8UAEBgYiL///ttOsyJHUVJSgpdffhnR0dFo0aIFAODatWtQKpXw9fWVjQ0MDMS1a9fEMeY+U4ZzVP2sXr0aR44cwcGDB03O8TNDxs6fP4/FixcjISEBb731Fg4ePIhx48ZBqVQiNjZW/J2b+0xIPzMBAQGy8y4uLqhVqxY/M9VUYmIisrOz0aRJEzg7O0Ov1+P999/HsGHDAICfGypTRX1Grl27hrCwMJN7GM5Jt+tQ1cYAnYgcypgxY3Dy5Ens3r3b3lMhB3b58mWMHz8e27Ztg7u7u72nQ1VASUkJoqKi8MEHHwAAIiMjcfLkSXz66aeIjY218+zIUX333XdYuXIlvv32WzRv3hxHjx7Fyy+/jLp16/JzQ0T3BFPcqdJpNBo4OzubVFO+fv066tSpY6dZkSOIj4/H5s2b8fvvv6N+/fri8Tp16kCn0yEzM1M2XvqZqVOnjtnPlOEcVS+HDx9GWloa2rZtCxcXF7i4uGDHjh2YN28eXFxcEBgYyM8MyQQFBaFZs2ayY02bNsWlS5cA3PmdW/p/U506dUyKmRYXF+PmzZv8zFRTr7/+OhITE/Hkk0+iZcuWGD58OF555RVMnz4dAD83VLaK+ozw/1k1BwN0qnRKpRLt2rVDUlKSeKykpARJSUno1KmTHWdG9iIIAuLj47FhwwZs377dJIWrXbt2cHV1lX1mzpw5g0uXLomfmU6dOuHEiROy/8Ft27YNPj4+Jv8op6qvZ8+eOHHiBI4ePSr+REVFYdiwYeKf+ZkhqejoaJP2jf/88w8aNGgAAAgLC0OdOnVkn5ns7Gzs379f9pnJzMzE4cOHxTHbt29HSUkJOnToUAmvgiqbVquFk5P8n8vOzs4oKSkBwM8Nla2iPiOdOnXCzp07UVRUJI7Ztm0bGjduzPT26sbeVeqoZlq9erXg5uYmLF++XDh16pTw3HPPCb6+vrJqylRzvPjii4JarRb++OMP4erVq+KPVqsVx7zwwgtCSEiIsH37duHQoUNCp06dhE6dOonni4uLhRYtWggPPvigcPToUeGXX34RateuLUyYMMEeL4nsQFrFXRD4mSG5AwcOCC4uLsL7778vpKSkCCtXrhRUKpXwzTffiGNmzJgh+Pr6Cps2bRKOHz8uPProo0JYWJiQn58vjnnooYeEyMhIYf/+/cLu3buFiIgIYejQofZ4SVQJYmNjhXr16gmbN28WUlNThfXr1wsajUZ44403xDH83FBOTo6QnJwsJCcnCwCEOXPmCMnJycLFixcFQaiYz0hmZqYQGBgoDB8+XDh58qSwevVqQaVSCZ999lmlv166txigk93Mnz9fCAkJEZRKpdC+fXth37599p4S2QkAsz/Lli0Tx+Tn5wsvvfSS4OfnJ6hUKmHgwIHC1atXZfe5cOGC0KdPH8HDw0PQaDTCq6++KhQVFVXyqyF7MQ7Q+ZkhYz/++KPQokULwc3NTWjSpInw+eefy86XlJQIEydOFAIDAwU3NzehZ8+ewpkzZ2RjMjIyhKFDhwpeXl6Cj4+PMHLkSCEnJ6cyXwZVouzsbGH8+PFCSEiI4O7uLjRs2FB4++23Za2u+Lmh33//3ey/Y2JjYwVBqLjPyLFjx4QuXboIbm5uQr169YQZM2ZU1kukSqQQBEGwz9o9ERERERERERlwDzoRERERERGRA2CATkREREREROQAGKATEREREREROQAG6EREREREREQOgAE6ERERERERkQNggE5ERERERETkABigExERERERETkABuhEREQVTKFQYOPGjfaeRpVw4cIFKBQKHD161N5TISIisjsG6ERERDa4du0axo4di4YNG8LNzQ3BwcHo168fkpKS7D01h5SamoqnnnoKdevWhbu7O+rXr49HH30Uf//9NwAgODgYV69eRYsWLew8UyIiIvtzsfcEiIiIqooLFy4gOjoavr6+mDVrFlq2bImioiJs3boVY8aMEYNOexEEAXq9Hi4ujvG/96KiIjzwwANo3Lgx1q9fj6CgIPzf//0ffv75Z2RmZgIAnJ2dUadOHftOlIiIyEFwBZ2IiMhKL730EhQKBQ4cOIDBgwfjvvvuQ/PmzZGQkIB9+/aVet2bb76J++67DyqVCg0bNsTEiRNRVFQknj927Bj+97//wdvbGz4+PmjXrh0OHToEALh48SL69esHPz8/eHp6onnz5tiyZQsA4I8//oBCocDPP/+Mdu3awc3NDbt370ZhYSHGjRuHgIAAuLu7o0uXLjh48KBsTjt27ED79u3h5uaGoKAgJCYmori4WDzfvXt3jB07Fi+//DL8/PwQGBiIJUuWIC8vDyNHjoS3tzfCw8Px888/l/q6//rrL5w7dw6LFi1Cx44d0aBBA0RHR+O9995Dx44dAZimuD/zzDNQKBQmP3/88QcAoLCwEK+99hrq1asHT09PdOjQQTxHRERU1TFAJyIissLNmzfxyy+/YMyYMfD09DQ57+vrW+q13t7eWL58OU6dOoVPPvkES5YswccffyyeHzZsGOrXr4+DBw/i8OHDSExMhKurKwBgzJgxKCwsxM6dO3HixAnMnDkTXl5esvsnJiZixowZOH36NFq1aoU33ngD69atw4oVK3DkyBGEh4ejd+/euHnzJgDg33//xcMPP4z7778fx44dw+LFi/Hll1/ivffek913xYoV0Gg0OHDgAMaOHYsXX3wR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",
      "text/html": [
       "\n",
       "            <div style=\"display: inline-block;\">\n",
       "                <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
       "                    Figure\n",
       "                </div>\n",
       "                <img src='' width=1000.0/>\n",
       "            </div>\n",
       "        "
      ],
      "text/plain": [
       "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Generate the simulated probability for every classroom\n",
    "simulated_probs_2 = [simulate(problem_2, n_students=n) for n in utils1.big_classroom_sizes]\n",
    "\n",
    "# Create a scatterplot of simulated probabilities vs classroom size\n",
    "utils1.plot_simulated_probs(simulated_probs_2, utils1.big_classroom_sizes)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a158970e",
   "metadata": {},
   "source": [
    "## Analytical Solution\n",
    "\n",
    "Note that this problem is very similar to the first one. The difference is that, instead of selecting one day $D$ at random from the room, you select a student and fix their birthday $D$. You can reduce this problem to the previous one by removing this student from the room and considering now a room with $n-1$ students. The problem now is analogous to the previous one but you will end up with a  $n-1$ instead of $n$. Therefore, it is easy to see that, in this case,\n",
    "\n",
    "$$P(n) = 1 - \\left(1 - \\frac{1}{365} \\right)^{n-1}.$$\n",
    "\n",
    "With some calculations you get that $P(n) \\geq \\frac{1}{2}$ if and only if $n \\geq {\\frac{0.693}{0.003}} + 1 = 254$."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "da320d6d",
   "metadata": {},
   "source": [
    "## Third Problem\n",
    "\n",
    "The third one is the most famous of all the birthday problems. This time you don't want to find a match with a predefined value but rather to find a match between any two birthdays, it can be worded like this: given a classroom with students, what is the value of `n` such that the probability of having a match is greater than or equal to 0.5 for any two students?\n",
    "\n",
    "<img src=\"./images/third.png\" style=\"height: 200px;\"/>\n",
    "\n",
    "Before doing the simulation as with previous problems ask yourself: **Do you think that the value of `n` will be similar to that of the previous problems? If you have to guess would you say it needs to be greater than or lower?**\n",
    "\n",
    "To help you out run the next cell to play an interactive version of this problem. The instructions are simple:\n",
    "\n",
    "   - To start a new simulation click anywhere on the upper panel (just below where the `Figure` headline appears)\n",
    "   - The upper panel shows randomly generated birthdays and let's you know when there is a match between two students\n",
    "   - The bottom left panel keeps track of the number of students required to have a match for every run\n",
    "   - The bottom right panel shows that same information as a histogram\n",
    "   - **Try running the simulation at least 30 times to get a sense of how this particular problem behaves**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "4690bde7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7f88d1baea814a88923036e876f3cbba",
       "version_major": 2,
       "version_minor": 0
      },
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+gAAAMgCAYAAACwGEg9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAy+UlEQVR4nO3df5DVdb348Rcs7q5OgHiJ5cdd40LXLH+AQexdzXFstpjRofjjjlxtgMtoZlJT7lSCKJtZwPWaw0xijGTZHxmUo04TDGabTGPSMPFjxq6IY2hwm3aVW7JcLBZ2P98/7te9d+WsscSe89rdx2Pm/MGnz8d9nU8fPu/z5JzdHVEURREAAABARY2s9AAAAACAQAcAAIAUBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASGBUpQegvIqiiCNHjlR6DAAAIInRo0fHiBEjKj0GIdCHnUOHDsWECRMqPQYAAJDE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N2Lp0qUxadKkqKmpiQsuuMDfp/9v7dq18b73vS/OPvvsqK+vj9tuuy3+8pe/lGna8vjFL34R8+bNi8mTJ8eIESPiySef/KvHbNu2LT74wQ9GTU1NvPe9741HHnlkwOesFGtTadamvlmbSrM2lWZdKs3aNAgVDCkbN24sqquri+985zvFf/zHfxSf+tSninPPPbdob28vuf8vf/nLoqqqqrj33nuLF154objzzjuLs846q3j++efLPPnA6u95ueGGG4p169YVu3fvLvbu3Vv867/+azF27NjiP//zP8s8+cDr77l5yyuvvFJMmTKluPLKK4tPfOIT5Rm2jPp7Xo4dO1bMnj27uOaaa4pnn322eOWVV4pt27YVe/bsKfPkA6+/5+b73/9+UVNTU3z/+98vXnnlleKpp54qJk2aVNx2221lnnxgbdmypVixYkXx+OOPFxFRPPHEE++4//79+4tzzjmnaG5uLl544YXim9/8ZlFVVVVs3bq1PAOXkbWpNGtT36xNpVmbSrMu9c3aNPgI9CFmzpw5xdKlS3v+3NXVVUyePLlYvXp1yf2vu+664tprr+21raGhofj0pz89oHOWW3/Py9udOHGiGD16dPG9731voEasmNM5NydOnCguv/zy4tvf/naxePHiIfkiqL/n5Vvf+lYxbdq0orOzs1wjVkx/z83SpUuLj3zkI722NTc3F1dcccWAzllJp/Ii6Mtf/nJx0UUX9dq2YMGCYu7cuQM4WWVYm0qzNvXN2lSatak069KpsTYNDj7iPoR0dnbGzp07o6mpqWfbyJEjo6mpKbZv317ymO3bt/faPyJi7ty5fe4/GJ3OeXm7N998M44fPx7nnXfeQI1ZEad7br761a/GhAkT4sYbbyzHmGV3Ouflxz/+cTQ2NsbSpUujrq4uLr744li1alV0dXWVa+yyOJ1zc/nll8fOnTt7Pm64f//+2LJlS1xzzTVlmTmr4XD/jbA29cXa1DdrU2nWptKsS2fWcLj/Zjeq0gNw5hw6dCi6urqirq6u1/a6urp48cUXSx7T1tZWcv+2trYBm7PcTue8vN3tt98ekydPPumGNdidzrl59tln4+GHH449e/aUYcLKOJ3zsn///vj5z38en/zkJ2PLli3x8ssvx6233hrHjx+PlpaWcoxdFqdzbm644YY4dOhQfPjDH46iKOLEiRNxyy23xB133FGOkdPq6/7b0dERf/7zn+Pss8+u0GRnlrWpNGtT36xNpVmbSrMunVnDZW3KzDvo8FesWbMmNm7cGE888UTU1tZWepyKOnLkSCxcuDA2bNgQ48ePr/Q4qXR3d8eECRPioYceilmzZsWCBQtixYoVsX79+kqPVnHbtm2LVatWxYMPPhi7du2Kxx9/PDZv3hz33HNPpUeDQcva9L+sTX2zNpVmXSIz76APIePHj4+qqqpob2/vtb29vT0mTpxY8piJEyf2a//B6HTOy1vuu+++WLNmTfzsZz+LSy+9dCDHrIj+npvf/va38eqrr8a8efN6tnV3d0dExKhRo2Lfvn0xffr0gR26DE7nmpk0aVKcddZZUVVV1bPt/e9/f7S1tUVnZ2dUV1cP6Mzlcjrn5q677oqFCxfGTTfdFBERl1xySRw9ejRuvvnmWLFiRYwcOTz/rbiv+++YMWOG1DsU1qbSrE19szaVZm0qzbp0Zg2XtSmz4Xv1DUHV1dUxa9asaG1t7dnW3d0dra2t0djYWPKYxsbGXvtHRDz99NN97j8Ync55iYi4995745577omtW7fG7NmzyzFq2fX33Fx44YXx/PPPx549e3oeH//4x+Pqq6+OPXv2RH19fTnHHzCnc81cccUV8fLLL/e8KIyIeOmll2LSpElD4gXQW07n3Lz55psnvdh568ViURQDN2xyw+H+G2Ft6ou1qW/WptKsTaVZl86s4XD/Ta+yP6OOM23jxo1FTU1N8cgjjxQvvPBCcfPNNxfnnntu0dbWVhRFUSxcuLBYtmxZz/6//OUvi1GjRhX33XdfsXfv3qKlpWXI/iqb/pyXNWvWFNXV1cVjjz1W/OEPf+h5HDlypFJPYcD099y83VD9Sbn9PS8HDhwoRo8eXXz2s58t9u3bV/zkJz8pJkyYUHzta1+r1FMYMP09Ny0tLcXo0aOLH/zgB8X+/fuLn/70p8X06dOL6667rlJPYUAcOXKk2L17d7F79+4iIor777+/2L17d/G73/2uKIqiWLZsWbFw4cKe/d/6VTZf+tKXir179xbr1q0bsr/KxtpUmrWpb9am0qxNpVmX+mZtGnwE+hD0zW9+szj//POL6urqYs6cOcWvfvWrnv/tqquuKhYvXtxr/x/+8IfFBRdcUFRXVxcXXXRRsXnz5jJPXB79OS/vec97iog46dHS0lL+wcugv9fM/zVUXwQVRf/Py3PPPVc0NDQUNTU1xbRp04qvf/3rxYkTJ8o8dXn059wcP368+MpXvlJMnz69qK2tLerr64tbb721+NOf/lT+wQfQM888U/K+8da5WLx4cXHVVVeddMzMmTOL6urqYtq0acV3v/vdss9dLtam0qxNfbM2lWZtKs26VJq1afAZURTD/HMcAAAAkIDvQQcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAk8P8ASmTCg+21e/oAAAAASUVORK5CYII=",
      "text/html": [
       "\n",
       "            <div style=\"display: inline-block;\">\n",
       "                <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
       "                    Figure\n",
       "                </div>\n",
       "                <img src='' width=1000.0/>\n",
       "            </div>\n",
       "        "
      ],
      "text/plain": [
       "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "game_third_prob = utils1.third_bday_problem()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "40186804",
   "metadata": {},
   "source": [
    "Now you should have a hypothesis of the number of students in the classroom needed for the match. Test your intuition by generating the simulated probabilities as before:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "fdc9a19c-2a85-4bae-9b57-1f3b0611da6c",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "def problem_3(n_students):\n",
    "    \n",
    "    # Generate birthdays for every student\n",
    "    gen_bdays = np.random.randint(0, 365, (n_students))\n",
    "    \n",
    "    # Get array containing unique bdays\n",
    "    unique_bdays = np.array(list(set(gen_bdays)))\n",
    "    \n",
    "    # Check that both the original and unique arrays have the same length \n",
    "    # (if so then no two students share the same bday)\n",
    "    return len(unique_bdays) != len(gen_bdays)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "083a603c-e5a4-4adf-a2f6-cf0045081da7",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "142fd6478a4f49ccb596f9759bf58789",
       "version_major": 2,
       "version_minor": 0
      },
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+gAAAGQCAYAAAA9TUphAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABtCklEQVR4nO3dd3RUVdfH8d8kpFdgSCAQCCX0KjWiAQVFVBBFH0SESLHSYyEoVVFQpDcfUcGCgkqxixDp0ouoFJH+SAlBSSGkkNz3D96MDmkTGDKT5PtZa9Zizj33zp47E+PO2ecck2EYhgAAAAAAgEO5ODoAAAAAAABAgg4AAAAAgFMgQQcAAAAAwAmQoAMAAAAA4ARI0AEAAAAAcAIk6AAAAAAAOAESdAAAAAAAnAAJOgAAAAAAToAEHQAAAAAAJ0CCDgAAAACAEyBBBwAAAADACZCgAwAAAADgBEjQAQAAAABwAiToAAAAAAA4ARJ0AAAAAACcAAk6AAAAAABOgAQdAAAAAAAnQIIOAAAAAIATIEEHAAAAAMAJkKADAAAAAOAESNABAAAAAHACJOgAAAAAADgBEnQAAAAAAJwACToAAAAAAE6ABB0AAAAAACdAgg4AKBSTyaRBgwbZ7XoLFy6UyWTSjh07Cuzbvn17tW/f3vL82LFjMplMWrhwoaVt3LhxMplMdosPOa1du1Ymk0mff/65o0OxydmzZ/Xggw+qfPnyMplMmj59uqNDytdjjz2msLAwR4cBAHAAEnQAKAGyk9zsh6enp2rXrq1Bgwbp7Nmzjg7P4V577TWtWLHC0WEUSvZn6unpqT///DPH8fbt26thw4YOiKz4GT58uFauXKmRI0fqww8/1F133ZVn3+TkZI0dO1YNGzaUj4+Pypcvr6ZNm2ro0KE6deqUpd+3336rcePGFUH0N8a+ffs0btw4HTt2zNGhAAD+hQQdAEqQl19+WR9++KFmz56tm2++WfPmzVNERIRSUlIcHZpd/PDDD/rhhx/y7TNq1ChdunTJqq04JujZ0tLSNGnSJEeHUaz9+OOPuu+++/Tcc8/p0UcfVd26dXPtl5GRocjISE2ePFm33nqrpk6dqhdffFE33XSTPv74Y/3++++Wvt9++63Gjx9fVG/B7vbt26fx48eToAOAkynj6AAAAPbTuXNntWjRQpI0YMAAlS9fXlOnTtUXX3yhnj175nrOxYsX5ePjU5RhXjN3d/cC+5QpU0ZlypScX29NmzbV/PnzNXLkSIWEhDg6nCJlr+9mXFycAgMDC+y3YsUK7d69W4sWLdIjjzxidSw1NVXp6enXHQsAAPlhBB0ASrDbb79dknT06FFJV+a2+vr66vDhw7r77rvl5+enXr16SbqSDD377LMKDQ2Vh4eH6tSpozfffFOGYeR67UWLFqlOnTry9PRU8+bNtX79eqvjx48f1zPPPKM6derIy8tL5cuX10MPPZTniF1KSoqefPJJlS9fXv7+/urTp4/+/vtvqz5Xz0HPzdVz0E0mky5evKj333/fMgXgscce05o1a2QymbR8+fIc1/j4449lMpm0efPmXF9jx44dMplMev/993McW7lypUwmk77++mtJUlJSkoYNG6awsDB5eHgoKChId9xxh3bt2pXv+8j24osvKjMzs8BR9Nzm42czmUxW5djZ9+j333/Xo48+qoCAAFWoUEGjR4+WYRg6efKk7rvvPvn7+6tixYqaMmVKrq+ZmZmpF198URUrVpSPj4+6du2qkydP5ui3detW3XXXXQoICJC3t7fatWunTZs2WfXJjmnfvn165JFHVLZsWd1yyy35vucjR47ooYceUrly5eTt7a02bdrom2++sRzPniZgGIbmzJlj+fzzcvjwYUlS27Ztcxzz9PSUv7+/pCs/R3PmzJEkq6kl0j/z89euXWt1fl6fz4oVK9SwYUN5enqqYcOGuX4fJSkrK0vTp09XgwYN5OnpqeDgYD355JM5fkbCwsJ07733auPGjWrVqpU8PT1Vo0YNffDBB1b35aGHHpIk3XbbbZb4s2PesWOHOnXqJLPZLC8vL1WvXl39+vXL874BAOyn5AwxAAByyE44ypcvb2m7fPmyOnXqpFtuuUVvvvmmvL29ZRiGunbtqjVr1qh///5q2rSpVq5cqeeff15//vmnpk2bZnXddevWacmSJRoyZIg8PDw0d+5c3XXXXdq2bZtlXvT27dv1008/6eGHH1aVKlV07NgxzZs3T+3bt9e+ffvk7e1tdc1BgwYpMDBQ48aN08GDBzVv3jwdP37ckvBcqw8//FADBgxQq1at9MQTT0iSatasqTZt2ig0NFSLFi3S/fffb3XOokWLVLNmTUVEROR6zRYtWqhGjRr69NNPFRUVZXVsyZIlKlu2rDp16iRJeuqpp/T5559r0KBBql+/vs6fP6+NGzdq//79uummmwqMv3r16urTp4/mz5+vmJgYu46i9+jRQ/Xq1dOkSZP0zTffaMKECSpXrpz++9//6vbbb9frr7+uRYsW6bnnnlPLli0VGRlpdf6rr74qk8mkESNGKC4uTtOnT1fHjh21Z88eeXl5SbpSXt65c2c1b95cY8eOlYuLixYsWKDbb79dGzZsUKtWrayu+dBDDyk8PFyvvfZann8ckq4s/HbzzTcrJSVFQ4YMUfny5fX++++ra9eu+vzzz3X//fcrMjJSH374oXr37q077rhDffr0yfd+VKtWTZL0wQcfaNSoUXl+75588kmdOnVKq1at0ocffljgfc7LDz/8oO7du6t+/fqaOHGizp8/r759+6pKlSq5vubChQvVt29fDRkyREePHtXs2bO1e/dubdq0SW5ubpa+f/zxhx588EH1799fUVFReu+99/TYY4+pefPmatCggSIjIzVkyBDNnDlTL774ourVqydJqlevnuLi4nTnnXeqQoUKiomJUWBgoI4dO6Zly5Zd8/sEABSCAQAo9hYsWGBIMlavXm2cO3fOOHnypLF48WKjfPnyhpeXl/G///3PMAzDiIqKMiQZMTExVuevWLHCkGRMmDDBqv3BBx80TCaT8ccff1jaJBmSjB07dljajh8/bnh6ehr333+/pS0lJSVHnJs3bzYkGR988EGO2Js3b26kp6db2t944w1DkvHFF19Y2tq1a2e0a9fO8vzo0aOGJGPBggWWtrFjxxpX/3rz8fExoqKicsQzcuRIw8PDw7hw4YKlLS4uzihTpowxduzYHP2vPtfNzc3466+/LG1paWlGYGCg0a9fP0tbQECAMXDgwHyvlZvs+7J9+3bj8OHDRpkyZYwhQ4ZYjrdr185o0KCB5Xlu9yKbJKv3k32PnnjiCUvb5cuXjSpVqhgmk8mYNGmSpf3vv/82vLy8rO7fmjVrDElG5cqVjcTEREv7p59+akgyZsyYYRiGYWRlZRnh4eFGp06djKysLEu/lJQUo3r16sYdd9yRI6aePXvadH+GDRtmSDI2bNhgaUtKSjKqV69uhIWFGZmZmVbv35bPICUlxahTp44hyahWrZrx2GOPGe+++65x9uzZHH0HDhyY43tmGP/cmzVr1li15/b5NG3a1KhUqZLV9++HH36wvH62DRs2GJKMRYsWWV3z+++/z9FerVo1Q5Kxfv16S1tcXJzh4eFhPPvss5a2zz77LNc4ly9fbvneAQCKHiXuAFCCdOzYURUqVFBoaKgefvhh+fr6avny5apcubJVv6efftrq+bfffitXV1cNGTLEqv3ZZ5+VYRj67rvvrNojIiLUvHlzy/OqVavqvvvu08qVK5WZmSlJlhFU6criW+fPn1etWrUUGBiYa3n3E088YTUK+PTTT6tMmTL69ttvC3kXbNenTx+lpaVZbRe2ZMkSXb58WY8++mi+5/bo0UMZGRlWI4s//PCDLly4oB49eljaAgMDtXXrVqsVwAurRo0a6t27t95++22dPn36mq9ztQEDBlj+7erqqhYtWsgwDPXv39/SHhgYqDp16ujIkSM5zu/Tp4/8/Pwszx988EFVqlTJ8pnt2bNHhw4d0iOPPKLz588rPj5e8fHxunjxojp06KD169crKyvL6ppPPfWUTbF/++23atWqlVUZvK+vr5544gkdO3ZM+/bts+0m/IuXl5e2bt2q559/XtKVUvD+/furUqVKGjx4sNLS0gp9zbycPn1ae/bsUVRUlAICAiztd9xxh+rXr2/V97PPPlNAQIDuuOMOyz2Mj49X8+bN5evrqzVr1lj1r1+/vm699VbL8woVKuT5GV4te67+119/rYyMjOt4hwCAa0GCDgAlyJw5c7Rq1SqtWbNG+/bt05EjRyyl1tnKlCmTo4T2+PHjCgkJsUq2JFlKX48fP27VHh4enuO1a9eurZSUFJ07d06SdOnSJY0ZM8Yyp91sNqtChQq6cOGCEhIScpx/9TV9fX1VqVKlG7rKdN26ddWyZUstWrTI0rZo0SK1adNGtWrVyvfcJk2aqG7dulqyZImlbcmSJTKbzZa5/5L0xhtv6Ndff1VoaKhatWqlcePG2ZQoXW3UqFG6fPmyXVd0r1q1qtXzgIAAeXp6ymw252i/eq6zlPMzM5lMqlWrluUzO3TokCQpKipKFSpUsHq88847SktLy/FdqF69uk2xHz9+XHXq1MnRntd31lYBAQF64403dOzYMR07dkzvvvuu6tSpo9mzZ+uVV165pmvmJju+3H6Wrn5fhw4dUkJCgoKCgnLcx+TkZMXFxVn1v/pzlaSyZcvm+hlerV27durevbvGjx8vs9ms++67TwsWLLDrHycAAHljDjoAlCCtWrWyrOKeFw8PD7m43Pi/zw4ePFgLFizQsGHDFBERoYCAAJlMJj388MM5Rk0dqU+fPho6dKj+97//KS0tTVu2bNHs2bNtOrdHjx569dVXFR8fLz8/P3355Zfq2bOn1Sry//nPf3Trrbdq+fLl+uGHHzR58mS9/vrrWrZsmTp37mxznDVq1NCjjz6qt99+WzExMTmO5zVfOruiITeurq42tUnKdz54XrI/58mTJ6tp06a59vH19bV6/u/KC0erVq2a+vXrp/vvv181atTQokWLNGHChHzPuZbPoSBZWVkKCgqy+kPSv1WoUMHq+fV8hiaTSZ9//rm2bNmir776SitXrlS/fv00ZcoUbdmyJcfnBQCwLxJ0AICqVaum1atXKykpyWoU/cCBA5bj/5Y9Mvpvv//+u7y9vS3Jwueff66oqCirFcBTU1N14cKFXGM4dOiQbrvtNsvz5ORknT59Wnffffc1v69s+S0y9/DDDys6OlqffPKJLl26JDc3N6sS9fz06NFD48eP19KlSxUcHKzExEQ9/PDDOfpVqlRJzzzzjJ555hnFxcXppptu0quvvlqoBF26Mor+0Ucf6fXXX89xrGzZspKU4/5e60iyLa7+HhiGoT/++EONGzeWdGUxPkny9/dXx44d7fra1apV08GDB3O05/WdvR5ly5ZVzZo19euvv1ra8vpO2fo5ZMeX28/S1e+rZs2aWr16tdq2bWu3P2AUtPBimzZt1KZNG7366qv6+OOP1atXLy1evNhqWgQAwP4ocQcA6O6771ZmZmaOkeNp06bJZDLlSCQ3b95sNY/85MmT+uKLL3TnnXdaRu9cXV1zjNjNmjUrz5HEt99+22rO67x583T58uVCJ7G58fHxyfMPA2azWZ07d9ZHH32kRYsW6a677spR4p2XevXqqVGjRlqyZImWLFmiSpUqWa10npmZmaOEOygoSCEhIddUMlyzZk09+uij+u9//6szZ85YHfP395fZbM6x3d3cuXML/Tq2+uCDD5SUlGR5/vnnn+v06dOWz6x58+aqWbOm3nzzTSUnJ+c4P3s6xLW4++67tW3bNqut8C5evKi3335bYWFhOeZx2+Lnn39WfHx8jvbjx49r3759VqXn2fuzX/29qlatmlxdXQv8HCpVqqSmTZvq/ffft/qOrFq1Ksf8+f/85z/KzMzMtcT+8uXLeX6385NX/H///XeOn9vs6gfK3AHgxmMEHQCgLl266LbbbtNLL72kY8eOqUmTJvrhhx/0xRdfaNiwYZaR0GwNGzZUp06drLZZk6Tx48db+tx777368MMPFRAQoPr162vz5s1avXq11ZZv/5aenq4OHTroP//5jw4ePKi5c+fqlltuUdeuXa/7/TVv3lyrV6/W1KlTFRISourVq6t169aW43369NGDDz4oSYWeZ9yjRw+NGTNGnp6e6t+/v9X0gaSkJFWpUkUPPvigmjRpIl9fX61evVrbt2/Pc2/xgrz00kv68MMPdfDgQTVo0MDq2IABAzRp0iQNGDBALVq00Pr16/X7779f0+vYoly5crrlllvUt29fnT17VtOnT1etWrX0+OOPS5JcXFz0zjvvqHPnzmrQoIH69u2rypUr688//9SaNWvk7++vr7766ppeOyYmRp988ok6d+6sIUOGqFy5cnr//fd19OhRLV269JqmcaxatUpjx45V165d1aZNG/n6+urIkSN67733lJaWZrWXfPYiiUOGDFGnTp3k6uqqhx9+WAEBAXrooYc0a9YsmUwm1axZU19//XWOeeKSNHHiRN1zzz265ZZb1K9fP/3111+aNWuWGjRoYPUHjXbt2unJJ5/UxIkTtWfPHt15551yc3PToUOH9Nlnn2nGjBmW76+tmjZtKldXV73++utKSEiQh4eHbr/9dn388ceaO3eu7r//ftWsWVNJSUmaP3++/P397VLNAgAogANXkAcA2Mm/t+TKT1RUlOHj45PrsaSkJGP48OFGSEiI4ebmZoSHhxuTJ0+22h7LMP7Zsuqjjz4ywsPDDQ8PD6NZs2Y5tmv6+++/jb59+xpms9nw9fU1OnXqZBw4cMCoVq2a1ZZd2bGvW7fOeOKJJ4yyZcsavr6+Rq9evYzz589bXfNat1k7cOCAERkZaXh5eRmScmy5lpaWZpQtW9YICAgwLl26lO89vNqhQ4csW89t3Lgxx3Wff/55o0mTJoafn5/h4+NjNGnSxJg7d26B183vM83eLu/f26wZxpVtwvr3728EBAQYfn5+xn/+8x8jLi4uz23Wzp07l+O6uX0/rt7SLXsrsU8++cQYOXKkERQUZHh5eRn33HOPcfz48Rzn796923jggQeM8uXLGx4eHka1atWM//znP0ZsbGyBMeXn8OHDxoMPPmgEBgYanp6eRqtWrYyv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qJEkydfXVwkJCZKke++9l33QAeBfArxJyAEAAAqDEvdCqlKlik6fPi3pymj6Dz/8IEnavn27PDw8HBkaAAAAAKAYI0EvpPvvv1+xsbGSpMGDB2v06NEKDw9Xnz591K9fv0Jfb86cOQoLC5Onp6dat26tbdu25dv/woULGjhwoCpVqiQPDw/Vrl1b33777TW9FwDITUJKug7HJWv3ib91+FyyElLSHR0SAABAqUCJeyFNmjTJ8u8ePXqoatWq2rx5s8LDw9WlS5dCXWvJkiWKjo7WW2+9pdatW2v69Onq1KmTDh48qKCgoBz909PTdccddygoKEiff/65KleurOPHjyswMPB63xYASJJOXbikEUv3asOheEtbZLhZk7o3VkiglwMjAwAAKPlYJM6BWrdurZYtW2r27NmSpKysLIWGhmrw4MGKiYnJ0f+tt97S5MmTdeDAAbm5Xds+wiwEASAvCSnpGvTJbqvkPFtkuFmzejazzCnPXgAuMTVD/l5uMvsw3xwAgOKG3MD5MIJ+DQ4ePKhZs2Zp//79kqR69epp8ODBqlOnjs3XSE9P186dOzVy5EhLm4uLizp27KjNmzfnes6XX36piIgIDRw4UF988YUqVKigRx55RCNGjJCrq+v1vSkApV58cnquybkkrT8Ur/jkdAV4uzPKDgAAcIMwB72Qli5dqoYNG2rnzp1q0qSJmjRpol27dqlhw4ZaunSpzdeJj49XZmamgoODrdqDg4N15syZXM85cuSIPv/8c2VmZurbb7/V6NGjNWXKFE2YMCHP10lLS1NiYqLVAwByk5iake/xpNQMJaSk50jOpSsJfMzSvcxXBwAAuA6MoBfSCy+8oJEjR+rll1+2ah87dqxeeOEFde/e/Ya9dlZWloKCgvT222/L1dVVzZs3159//qnJkydr7NixuZ4zceJEjR8//obFBKDk8PfMf+qMn6ebzaPsAAAAKDxG0Avp9OnT6tOnT472Rx991LL9mi3MZrNcXV119uxZq/azZ8+qYsWKuZ5TqVIl1a5d26qcvV69ejpz5ozS03MftRo5cqQSEhIsj5MnT9ocI4DSxezrrshwc67HIsPNMvu62zTKDgAAgGtDgl5I7du314YNG3K0b9y4UbfeeqvN13F3d1fz5s0tW7ZJV0bIY2NjFRERkes5bdu21R9//KGsrCxL2++//65KlSrJ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Lhrc5xuPe3zjcY9vPO7xjcc9Lhrc5xuPe1x6sUgcAAAAAABOgBF0AAAAAACcAAk6AAAAAABOgAQdAAAAAAAnQIIOAAAAAIATIEGHw8yZM0dhYWHy9PRU69attW3bNkeHVGytX79eXbp0UUhIiEwmk1asWGF13DAMjRkzRpUqVZKXl5c6duyoQ4cOOSbYYmrixIlq2bKl/Pz8FBQUpG7duungwYNWfVJTUzVw4ECVL19evr6+6t69u86ePeugiIufefPmqXHjxvL395e/v78iIiL03XffWY5zf+1v0qRJMplMGjZsmKWN+3x9xo0bJ5PJZPWoW7eu5Tj3137+/PNPPfrooypfvry8vLzUqFEj7dixw3Kc333XJywsLMd32WQyaeDAgZL4LttDZmamRo8ererVq8vLy0s1a9bUK6+8on+v4c33uPQhQYdDLFmyRNHR0Ro7dqx27dqlJk2aqFOnToqLi3N0aMXSxYsX1aRJE82ZMyfX42+88YZmzpypt956S1u3bpWPj486deqk1NTUIo60+Fq3bp0GDhyoLVu2aNWqVcrIyNCdd96pixcvWvoMHz5cX331lT777DOtW7dOp06d0gMPPODAqIuXKlWqaNKkSdq5c6d27Nih22+/Xffdd59+++03Sdxfe9u+fbv++9//qnHjxlbt3Ofr16BBA50+fdry2Lhxo+UY99c+/v77b7Vt21Zubm767rvvtG/fPk2ZMkVly5a19OF33/XZvn271fd41apVkqSHHnpIEt9le3j99dc1b948zZ49W/v379frr7+uN954Q7NmzbL04XtcChmAA7Rq1coYOHCg5XlmZqYREhJiTJw40YFRlQySjOXLl1ueZ2VlGRUrVjQmT55sabtw4YLh4eFhfPLJJw6IsGSIi4szJBnr1q0zDOPKPXVzczM+++wzS5/9+/cbkozNmzc7Ksxir2zZssY777zD/bWzpKQkIzw83Fi1apXRrl07Y+jQoYZh8D22h7FjxxpNmjTJ9Rj3135GjBhh3HLLLXke53ef/Q0dOtSoWbOmkZWVxXfZTu655x6jX79+Vm0PPPCA0atXL8Mw+B6XVoygo8ilp6dr586d6tixo6XNxcVFHTt21ObNmx0YWcl09OhRnTlzxup+BwQEqHXr1tzv65CQkCBJKleunCRp586dysjIsLrPdevWVdWqVbnP1yAzM1OL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",
      "text/html": [
       "\n",
       "            <div style=\"display: inline-block;\">\n",
       "                <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
       "                    Figure\n",
       "                </div>\n",
       "                <img src='' width=1000.0/>\n",
       "            </div>\n",
       "        "
      ],
      "text/plain": [
       "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Generate the simulated probability for every classroom\n",
    "simulated_probs_3 = [simulate(problem_3, n_students=n) for n in utils1.small_classroom_sizes]\n",
    "\n",
    "# Create a scatterplot of simulated probabilities vs classroom size\n",
    "utils1.plot_simulated_probs(simulated_probs_3, utils1.small_classroom_sizes)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9075640c",
   "metadata": {},
   "source": [
    "## Analytical solution\n",
    "\n",
    "This problem is a bit different from the previous two, so you will need to make some calculations again. Now, the idea is to perform the calculation by steps, selecting one student at time. So let's define $Q_i$ as the probability that the $i$-th student has birthday different from the previous students. Note that $Q_1 = 1$, because there is no previous student. Note also that,\n",
    "\n",
    "$$Q_2 = \\frac{364}{365}.$$\n",
    "\n",
    "This is because, given that you've selected one student, the second has $364$ possible values, it has a chance of $\\frac{364}{365}$ of not matching birthdays with the first. Now, for $Q_3$, there are $2$ selected students with different birthdays, so the probability that the third student not matches any of the previous two is:\n",
    "\n",
    "$$Q_3 = \\frac{363}{365}.$$\n",
    "\n",
    "Inductively, if we select $n$ students, then $$Q_n = \\frac{365 - (n-1)}{365}.$$\n",
    "\n",
    "Since we assume that we are choosing students independently from each other, then the probability of picking $n$ students that **don't have their birthday in common** is just the product of all $Q_n$. Let's call it $Q$, so:\n",
    "\n",
    "$$Q = Q_1 \\cdot Q_2 \\cdot \\ldots \\cdot Q_{n-1} \\cdot Q_n = 1 \\cdot \\frac{364}{365} \\cdot \\frac{363}{365} \\cdot \\ldots \\cdot \\frac{365 - (n-2)}{365} \\cdot \\frac{365 - (n-1)}{365}.$$\n",
    "\n",
    "The desired probability is, therefore, $P:= 1 - Q$, since we want the probability of **at least two students match their birthday** (this is just the complement rule).\n",
    "\n",
    "Note that we could just write a small program in Python to compute this value for every $n$ and return the first value that achieves the inequality we want ($P \\geq \\frac{1}{2}$), but for sake of completion we will provide an analytic solution.\n",
    "\n",
    "We will use the following inequality: $1 - x \\approx e^{-x}$ for $x$ small and positive. We can re-write $Q$ as\n",
    "\n",
    "$$Q = 1 \\cdot \\frac{364}{365} \\cdot \\frac{363}{365} \\cdot \\ldots \\cdot \\frac{365 - (n-2)}{365} \\cdot \\frac{365 - (n-1)}{365} \n",
    "    = \\left(1 - \\frac{1}{365} \\right) \\cdot \\left(1 - \\frac{2}{365} \\right) \\cdot \\ldots \\cdot \\left(1 - \\frac{n-2}{365} \\right) \\cdot \\left(1 - \\frac{n-1}{365} \\right).$$\n",
    "\n",
    "Thus, using the approximation:\n",
    "\n",
    "$$Q \\approx e^{-\\frac{1}{365}} \\cdot e^{-\\frac{2}{365}} \\cdot \\ldots \\cdot e^{-\\frac{n-2}{365}} \\cdot e^{-\\frac{n-1}{365}} = e^{- \\frac{1 + 2 + \\ldots + (n-1)}{365}}.$$\n",
    "\n",
    "Using the formula $1 + 2 + \\ldots + (n-1) = \\frac{n(n-1)}{2}$ (this is the sum of the first $n-1$ terms of a arithmetic progression with first term $1$ and common difference $1$), we have:\n",
    "\n",
    "$$Q \\approx e^{-\\frac{n(n-1)}{730}}.$$\n",
    "\n",
    "So, $P = 1 - Q = 1 - e^{-\\frac{n(n-1)}{730}}$ and $P \\geq \\frac{1}{2}$ is equivalent to $1 - e^{-\\frac{n(n-1)}{730}} \\geq \\frac{1}{2}$ which is equivalent to $\\frac{n(n-1)}{730} \\geq \\ln 2$, i.e., $n(n-1) \\geq 730 \\cdot \\ln 2$. Since $\\ln 2 \\approx \\cdot 0.6931$, so $$n(n-1) \\geq 505.96 \\geq 505.$$\n",
    "\n",
    "Solving the quadratic equation $n(n-1) = 499$, the only positive value for $n$ is $n = \\frac{1 + \\sqrt{1997}}{2} \\approx 23.$\n",
    "\n",
    "Therefore, if $n\\geq23$ then $P \\geq \\frac{1}{2}$."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0106c0d8",
   "metadata": {},
   "source": [
    "## Fourth Problem\n",
    "\n",
    "The fourth and final one is similar to the third problem but with the difference that you have two classrooms and want to find a match between a student in one classroom and a student in the other, presenting it like a question it will be: given two classrooms with `n` students, what is the value of `n` such that the probability of having a match is greater than or equal to 0.5 for any two students in each classroom?\n",
    "\n",
    "<img src=\"./images/fourth.png\" style=\"height: 200px;\"/>\n",
    "\n",
    "**Once again try to come up with your own hypothesis before doing the simulation!**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "52476294-746a-4676-b898-a5c3563a5dbd",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "def problem_4(n_students):\n",
    "    \n",
    "    # Generate birthdays for every student in classroom 1\n",
    "    gen_bdays_1 = np.random.randint(0, 365, (n_students))\n",
    "    \n",
    "    # Generate birthdays for every student in classroom 2\n",
    "    gen_bdays_2 = np.random.randint(0, 365, (n_students))\n",
    "    \n",
    "    # Check for any match between both classrooms\n",
    "    return np.isin(gen_bdays_1, gen_bdays_2).any()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "411889a8-317b-435a-85be-bec3f94edbf0",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "717a56dd34dd4896896995ecd0377bd7",
       "version_major": 2,
       "version_minor": 0
      },
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+gAAAGQCAYAAAA9TUphAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABrQUlEQVR4nO3dZ3RUVfv38d8kpHcYEloglNCr1IgGFBRRQQS9EZVEASs9FoJSbYDc9KqogAoKSrGLEOkiHbEAItJuCYSgpBBgQnKeFzyZv0PaBJLMJPl+1pq1mL33OXPNmQlwZe+zL5NhGIYAAAAAAIBDuTg6AAAAAAAAQIIOAAAAAIBTIEEHAAAAAMAJkKADAAAAAOAESNABAAAAAHACJOgAAAAAADgBEnQAAAAAAJwACToAAAAAAE6ABB0AAAAAACdAgg4AAAAAgBMgQQcAAAAAwAmQoAMAAAAA4ARI0AEAAAAAcAIk6AAAAAAAOAESdAAAAAAAnAAJOgAAAAAAToAEHQAAAAAAJ0CCDgAAAACAEyBBBwAAAADACZCgAwAAAADgBEjQAQAAAABwAiToAAAAAAA4ARJ0AAAAAACcAAk6AAAAAABOgAQdAAAAAAAnQIIOACgQk8mkQYMGFdr5Fi1aJJPJpF27duU7tmPHjurYsaP1+bFjx2QymbRo0SJr27hx42QymQotPmS3YcMGmUwmffrpp44OxS5nzpzRAw88oAoVKshkMmn69OmODilPjz32mMLCwhwdBgDAAUjQAaAUyEpysx6enp6qW7euBg0apDNnzjg6PId74403tHr1akeHUSBZn6mnp6f++uuvbP0dO3ZU48aNHRBZyTN8+HCtWbNGI0eO1AcffKC77ror17GpqakaO3asGjduLB8fH1WoUEHNmzfX0KFDderUKeu4r7/+WuPGjSuG6IvGb7/9pnHjxunYsWOODgUA8C8k6ABQirzyyiv64IMPNHv2bN18882aN2+eIiIilJaW5ujQCsV3332n7777Ls8xo0aN0sWLF23aSmKCnuXy5cuaOHGio8Mo0b7//nvdd999ev755/Xoo4+qfv36OY5LT09XZGSkJk+erFtvvVVTp07VSy+9pJtuuklLly7V77//bh379ddfa/z48cX1Fgrdb7/9pvHjx5OgA4CTKefoAAAAhadr165q1aqVJGnAgAGqUKGCpk6dqs8++0x9+vTJ8ZgLFy7Ix8enOMO8bu7u7vmOKVeunMqVKz3/vDVv3lwLFizQyJEjVaVKFUeHU6wK67uZkJCgwMDAfMetXr1ae/fu1ZIlS/Twww/b9F26dEkWi+WGYwEAIC/MoANAKXb77bdLko4ePSrp6r2tvr6+OnLkiO6++275+fnpkUcekXQ1GXruuecUGhoqDw8P1atXT//9739lGEaO516yZInq1asnT09PtWzZUps2bbLpP378uJ599lnVq1dPXl5eqlChgh588MFcZ+zS0tL01FNPqUKFCvL391dUVJT++ecfmzHX3oOek2vvQTeZTLpw4YIWL15svQXgscce0/r162UymbRq1aps51i6dKlMJpO2bduW42vs2rVLJpNJixcvzta3Zs0amUwmffnll5KklJQUDRs2TGFhYfLw8FBwcLDuuOMO7dmzJ8/3keWll15SRkZGvrPoOd2Pn8VkMtksx866Rr///rseffRRBQQEqGLFiho9erQMw9DJkyd13333yd/fX5UqVdKUKVNyfM2MjAy99NJLqlSpknx8fNS9e3edPHky27jt27frrrvuUkBAgLy9vdWhQwdt3brVZkxWTL/99psefvhhBQUF6ZZbbsnzPf/555968MEHVb58eXl7e6tdu3b66quvrP1ZtwkYhqE5c+ZYP//cHDlyRJLUvn37bH2enp7y9/eXdPXnaM6cOZJkc2uJ9H/352/YsMHm+Nw+n9WrV6tx48by9PRU48aNc/w+SlJmZqamT5+uRo0aydPTUyEhIXrqqaey/YyEhYXp3nvv1ZYtW9SmTRt5enqqVq1aev/9922uy4MPPihJuu2226zxZ8W8a9cudenSRWazWV5eXqpZs6b69euX63UDABSe0jPFAADIJivhqFChgrXtypUr6tKli2655Rb997//lbe3twzDUPfu3bV+/Xr1799fzZs315o1a/TCCy/or7/+0rRp02zOu3HjRi1btkxDhgyRh4eH5s6dq7vuuks7duyw3he9c+dO/fDDD3rooYdUrVo1HTt2TPPmzVPHjh3122+/ydvb2+acgwYNUmBgoMaNG6dDhw5p3rx5On78uDXhuV4ffPCBBgwYoDZt2ujJJ5+UJNWuXVvt2rVTaGiolixZovvvv9/mmCVLlqh27dqKiIjI8ZytWrVSrVq1tHz5ckVHR9v0LVu2TEFBQerSpYsk6emnn9ann36qQYMGqWHDhjp37py2bNmiAwcO6Kabbso3/po1ayoqKkoLFixQbGxsoc6i9+7dWw0aNNDEiRP11Vdf6bXXXlP58uX11ltv6fbbb9ekSZO0ZMkSPf/882rdurUiIyNtjn/99ddlMpk0YsQIJSQkaPr06ercubP27dsnLy8vSVeXl3ft2lUtW7bU2LFj5eLiooULF+r222/X5s2b1aZNG5tzPvjggwoPD9cbb7yR6y+HpKsbv918881KS0vTkCFDVKFCBS1evFjdu3fXp59+qvvvv1+RkZH64IMP1LdvX91xxx2KiorK83rUqFFDkvT+++9r1KhRuX7vnnrqKZ06dUpr167VBx98kO91zs13332nXr16qWHDhpowYYLOnTunxx9/XNWqVcvxNRctWqTHH39cQ4YM0dGjRzV79mzt3btXW7dulZubm3XsH3/8oQceeED9+/dXdHS03nvvPT322GNq2bKlGjVqpMjISA0ZMkQzZ87USy+9pAYNGkiSGjRooISEBN15552qWLGiYmNjFRgYqGPHjmnlypXX/T4BAAVgAABKvIULFxqSjHXr1hlnz541Tp48aXz88cdGhQoVDC8vL+N///ufYRiGER0dbUgyYmNjbY5fvXq1Icl47bXXbNofeOABw2QyGX/88Ye1TZIhydi1a5e17fjx44anp6dx//33W9vS0tKyxblt2zZDkvH+++9ni71ly5aGxWKxtr/55puGJOOzzz6ztnXo0MHo0KGD9fnRo0cNScbChQutbWPHjjWu/efNx8fHiI6OzhbPyJEjDQ8PD+P8+fPWtoSEBKNcuXLG2LFjs42/9lg3Nzfj77//trZdvnzZCAwMNPr162dtCwgIMAYOHJjnuXKSdV127txpHDlyxChXrpwxZMgQa3+HDh2MRo0aWZ/ndC2ySLJ5P1nX6Mknn7S2XblyxahWrZphMpmMiRMnWtv/+ecfw8vLy+b6rV+/3pBkVK1a1UhOTra2L1++3JBkzJgxwzAMw8jMzDTCw8ONLl26GJmZmdZxaWlpRs2aNY077rgjW0x9+vSx6/oMGzbMkGRs3rzZ2paSkmLUrFnTCAsLMzIyMmzevz2fQVpamlGvXj1DklGjRg3jscceM959913jzJkz2cYOHDgw2/fMMP7v2qxfv96mPafPp3nz5kblypVtvn/fffed9fWz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frfzklv8//zzT7af26zVDyxzB4Cixww6AEDdunXTbbfdppdfflnHjh1Ts2bN9N133+mzzz7TsGHDrDOhWRo3bqwuXbrYlFmTpPHjx1vH3Hvvvfrggw8UEBCghg0batu2bVq3bp1Nybd/s1gs6tSpk/7zn//o0KFDmjt3rm655RZ17979ht9fy5YttW7dOk2dOlVVqlRRzZo11bZtW2t/VFSUHnjgAUkq8H3GvXv31pgxY+Tp6an+/fvb3D6QkpKiatWq6YEHHlCzZs3k6+urdevWaefOnbnWFs/Pyy+/rA8++ECHDh1So0aNbPoGDBigiRMnasCAAWrVqpU2bdqk33///bpexx7ly5fXLbfcoscff1xnzpzR9OnTVadOHT3xxBOSJBcXF73zzjvq2rWrGjVqpMcff1xVq1bVX3/9pfXr18vf319ffPHFdb12bGysPvroI3Xt2lVDhgxR+fLltXjxYh09elQrVqy4rts41q5dq7Fjx6p79+5q166dfH199eeff+q9997T5cuXbWrJZ22SOGTIEHXp0kWurq566KGHFBAQoAcffFCzZs2SyWRS7dq19eWXX2a7T1ySJkyYoHvuuUe33HKL+vXrp7///luzZs1So0aNbH6h0aFDBz311FOaMGGC9u3bpzvvvFNubm46fPiwPvnkE82YMcP6/bVX8+bN5erqqkmTJikpKUkeHh66/fbbtXTpUs2dO1f333+/ateurZSUFC1YsED+/v6FspoFAJAPB+4gDwAoJP8uyZWX6Ohow8fHJ8e+lJQUY/jw4UaVKlUMNzc3Izw83Jg8ebJNeSzD+L+SVR9++KERHh5ueHh4GC1atMhWrumff/4xHn/8ccNsNhu+vr5Gly5djIMHDxo1atSwKdmVFfvGjRuNJ5980ggKCjJ8fX2NRx55xDh37pzNOa+3zNrBgweNyMhIw8vLy5CUreTa5cuXjaCgICMgIMC4ePFintfwWocPH7aWntuyZUu2877wwgtGs2bNDD8/P8PHx8do1qyZMXfu3HzPm9dnmlUu799l1gzjapmw/v37GwEBAYafn5/xn//8x0hISMi1zNrZs2eznTen78e1Jd2ySol99NFHxsiRI43g4GDDy8vLuOeee4zjx49nO37v3r1Gz549jQoVKhgeHh5GjRo1jP/85z9GXFxcvjHl5ciRI8YDDzxgBAYGGp6e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CbVnjD2vZU8yWxhj7EkSCisWf0+3PMf4eboxJg/+nnnPEzlbvIzh8yzqMYBEgl6iREREKC4uzqZt7dq1ioiIyPUYDw8P+fv72zyKWlKaRUcSUrX3xD86cjZVSWmWInut+Ph49enTR/369dOBAwe0YcMG9ezZM89l7YsXL5bZbNaOHTs0ePBgPfPMM3rwwQd18803a8+ePbrzzjvVt29fpaWlXXdcKSkpio6O1pYtW/Tjjz8qPDxcd999t1JSUiRdTeClq3sIxMfHW59v3rxZUVFRGjp0qH777Te99dZbWrRokV5//XVJUmZmpnr27Cl3d3dt375d8+fP14gRI+yKafHixSpXrpx27NihGTNmaOrUqXrnnXdsxvz3v/9Vs2bNtHfvXo0ePVq7d+/Wf/7zHz300EP6+eefNW7cOI0ePVqLFi2yOW7y5MnW42JjYzV06FCbXxy4uLho5syZ+vXXX7V48WJ9//33evHFF23OkZaWptdff13vv/++tm7dqvPnz+uhhx6y/6L/y8qVK1WtWjW98sorio+PV3x8fI7j8rveK1as0LRp0/TWW2/p8OHDWr16tZo0aXJdMQEFldffpYWVfBdWomrPa5XGJMHs667IcHOO/ZHhZpl93RmTx5ggH+eJhTF8ns4wBpBI0B0qNTVV+/bts256dfToUe3bt08nTpyQdHX2Oyoqyjr+6aef1p9//qkXX3xRBw8e1Ny5c7V8+XINHz7cEeHnKL8ZncIWHx+vK1euqGfPngoLC1OTJk307LPP5rkUulmzZho1apTCw8M1cuRIeXp6ymw264knnlB4eLjGjBmjc+fOaf/+/dcd1+23365HH31U9evXV4MGDfT2228rLS1NGzdulCRVrFhRkhQYGKhKlSpZn48fP16xsbGKjo5WrVq1dMcdd+jVV1/VW2+9JUlat26dDh48qPfff1/NmjVTZGSk3njjDbtiCg0N1bRp01SvXj098sgjGjx4sKZNm5Yt7ueee061a9dW7dq1NXXqVHXq1EmjR49W3bp19dhjj2nQoEGaPHmyzXHt27dXbGys6tatq8GDB+uBBx6wOfewYcN02223KSwsTLfffrtee+01LV++3OYc6enpmj17tiIiItSyZUstXrxYP/zwg3bs2FGAK39V+fLl5erqKj8/P1WqVEmVKlXKcVx+1/vEiROqVKmSOnfurOrV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3qm+ffsqLS0tx/ddsWJFubi46NNPP1VGRoZd13nGjBmKj4+3PoYOHarg4GDVr19fkjRo0CBt27ZNH3/8sfbv368HH3xQd911lw4fPmzX+QEAcGoGAADI1/bt2w1JxsqVK/MdK8lYtWpVrv2TJ082WrZsaX3u5+dnLFq0KMexTZo0McaNG5dj3/r16w1JxurVq61tqamphpubm7FkyRJrm8ViMapUqWK8+eabhmEYxksvvWTUq1fPyMzMtI6ZM2eO4evra2RkZBiGYRgdOnQwbrnlFmv/lStXDB8fH6Nv377Wtvj4eEOSsW3btlzf6+zZsw1vb2/Dz8/PuO2224xXXnnFOHLkiLX/6NGjhiRj79692Y5dsWKF4enpaWzZssUwDMM4fvy44erqavz111824zp16mSMHDky1xgAACgpmEEHAMAOhmFc97HLli1T+/btValSJfn6+mrUqFE6ceKEtT8mJkYDBgxQ586dNXHiRB05csTaN2TIEL322mtq3769xo4dq/3792c7f6tWrax/PnLkiNLT09W+fXtrm5ubm9q0aaMDBw5Ikg4cOKCIiAiZTCbrmPbt2ys1NVX/+9//rG1Nmza1/tnV1VUVKlRQkyZNrG0hISGSpISEhFzf+8CBA3X69GktWbJEERER+uSTT9SoUSOtXbs2z2u2d+9e9e3bV7Nnz7a+l59//lkZGRmqW7eufH19rY+NGzfaXDMAAEoqEnQAAOwQHh4uk8lU4I3gtm3bpkceeUR33323vvzyS+3du1cvv/yyLBaLdcy4ceP066+/6p577tH333+vhg0batWqVZKkAQMG6M8//1Tfvn31888/q1WrVpo1a5bNa+S05L4wZC2zz2IymWzashL8zMzMPM/j5+enbt266fXXX9dPP/2kW2+9Ndty+n87ffq0unfvrgEDBqh///7W9tTUVLm6umr37t3at2+f9XHgwAHNmDHjet4iAABOhQQdAAA7lC9fXl26dNGcOXN04cKFbP1Zu5Jf64cfflCNGjX08ssvq1WrVgoPD9fx48ezjatbt66GDx+u7777Tj179tTChQutfaGhoXr66ae1cuVKPffcc1qwYEGucdauXVvu7u7aunWrtS09PV07d+5Uw4YNJUkNGjTQtm3bbFYFbN26VX5+fqpWrVq+1+JGmEwm1a9fP8drKEmXLl3Sfffdp/r162vq1Kk2fS1atFBGRoYSEhJUp04dmwc7wQMASgMSdAAA7DRnzhxlZGSoTZs2WrFihQ4fPqwDBw5o5syZioiIyPGY8PBwnThxQh9//LGOHDmimTNnWmfHJenixYsaNGiQNmzYoOPHj2vr1q3auXOnGjRoIEkaNmyY1qxZo6NHj2rPnj1av369tS8nPj4+euaZZ/TCCy/o22+/1W+//aYnnnhCaWlp1tnoZ599VidPntTgwYN18OBBffbZZxo7dqxiYmLk4lJ4/zXYt2+f7rvvPn366af67bff9Mcff+jdd9/Ve++9p/vuuy/HY5566imdPHlSM2fO1NmzZ3X69GmdPn1aFotFdevW1SOPPKKoqCitXLlSR48e1Y4dOzRhwgR99dVXhRY3AACO4hyFUgEAKAFq1aqlPXv26PXXX9dzzz2n+Ph4VaxYUS1bttS8efNyPKZ79+4aPny4Bg0apMuXL+uee+7R6NGjNW7cOElX7+0+d+6coqKidObMGZnNZvXs2VPjx4+XJGVkZGjgwIH63//+J39/f9111102O8DnZOLEicrMzFTfvn2VkpKiVq1aac2aNQoKCpIkVa1aVV9//bVeeOEFNWvWTOXLl1f//v01atSowrtYkqpVq6awsDCNHz/eWk4t6/nw4cNzPGbjxo2Kj4+3zvZnWb9+vTp27KiFCxfqtdde03PPPae//vpLZrNZ7dq107333luosQMA4Agm40Z2vQEAAAAAAIWCJe4AAAAAADgBEnQAAAAAAJwACToAAAAAAE7g/wHsfjG6z+wb3wAAAABJRU5ErkJggg==",
      "text/html": [
       "\n",
       "            <div style=\"display: inline-block;\">\n",
       "                <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
       "                    Figure\n",
       "                </div>\n",
       "                <img src='' width=1000.0/>\n",
       "            </div>\n",
       "        "
      ],
      "text/plain": [
       "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Generate the simulated probability for every classroom\n",
    "simulated_probs_4 = [simulate(problem_4, n_students=n) for n in utils1.small_classroom_sizes]\n",
    "\n",
    "# Create a scatterplot of simulated probabilities vs classroom size\n",
    "utils1.plot_simulated_probs(simulated_probs_4, utils1.small_classroom_sizes)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7fbc564d",
   "metadata": {},
   "source": [
    "## Analytical solution\n",
    "\n",
    "The solution to this problem is similar to the first one. Now, instead of only **one** date, there are $n$ dates to compare. \n",
    "Remember that if we have only one date $D$ to compare than the probability, let's say $Q_1$ of having **no** student with birthday $D$ is $Q_1 = (1 - \\frac{1}{365})^n$ (the complement of $P(\\mathcal{S})$ in that case). Now we proceed as problem three, by having independent samples of students. For each student sampled, the probability $Q_i$ is $(1 - \\frac{1}{365})^n$, so the probability of no student matches any of the $n$ given dates is therefore\n",
    "\n",
    "$$Q = Q_1 \\cdot Q_2 \\cdot \\ldots \\cdot Q_{n-1} \\cdot Q_n = (1 - \\frac{1}{365})^{n^2}$$\n",
    "\n",
    "Using the approximation $1 - x \\approx e^{-x}$ for $x$ small,\n",
    "\n",
    "$$Q \\approx e^{-\\frac{n^2}{365}}$$\n",
    "\n",
    "Therefore, $$P(n) \\approx 1 - e^{-\\frac{n^2}{365}}.$$ \n",
    "\n",
    "Thus, $P(n) \\geq \\frac{1}{2}$ if $n \\geq \\sqrt{\\ln 2 \\cdot 365} \\approx 15.9 \\geq 15$"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1597e9d7",
   "metadata": {},
   "source": [
    "**Congratulations! You have finished the ungraded lab on the Birthday problems!**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f1e28f61",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
